package com.ruoyi.studentClass.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 学生分班对象 student_class
 * 
 * @author ruoyi
 * @date 2025-06-27
 */
public class StudentClass extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long studentId;

    /** 用户主键 */
    @Excel(name = "用户主键")
    private Long uid;

    /** 班级主键 */
    @Excel(name = "班级主键")
    private Long classId;

    /** 0在读，1结业，2退班 */
    @Excel(name = "0在读，1结业，2退班")
    private Long status;

    /** 座位号 */
    @Excel(name = "座位号")
    private Long number;

    /** 加入班级日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "加入班级日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date joinDate;

    /** 离开班级日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离开班级日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveDate;

    public void setStudentId(Long studentId) 
    {
        this.studentId = studentId;
    }

    public Long getStudentId() 
    {
        return studentId;
    }

    public void setUid(Long uid) 
    {
        this.uid = uid;
    }

    public Long getUid() 
    {
        return uid;
    }

    public void setClassId(Long classId) 
    {
        this.classId = classId;
    }

    public Long getClassId() 
    {
        return classId;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setNumber(Long number) 
    {
        this.number = number;
    }

    public Long getNumber() 
    {
        return number;
    }

    public void setJoinDate(Date joinDate) 
    {
        this.joinDate = joinDate;
    }

    public Date getJoinDate() 
    {
        return joinDate;
    }

    public void setLeaveDate(Date leaveDate) 
    {
        this.leaveDate = leaveDate;
    }

    public Date getLeaveDate() 
    {
        return leaveDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("studentId", getStudentId())
            .append("uid", getUid())
            .append("classId", getClassId())
            .append("status", getStatus())
            .append("number", getNumber())
            .append("joinDate", getJoinDate())
            .append("leaveDate", getLeaveDate())
            .toString();
    }
}
